//## begin module%3C6E5F8F0326.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3C6E5F8F0326.cm

//## begin module%3C6E5F8F0326.cp preserve=no
//	+----------------------------------------------+
//	| SVMBR - A program for training SVMs          |
//	+----------------------------------------------+
//	| * Creator, modeling, coding:                 |
//	|    Marcelo Barros de Almeida                 |
//	|    barros@smar.com.br                        |
//	|    http://litc.cpdee.ufmg.br/~barros/        |
//	| * Coding, improvements, bug fixes:           |
//	|    Bernardo Penna                            |
//	|    bprc@brfree.com.br                        |
//	+----------------------------------------------+
//
//	 Copyright(c) 2002 by Marcelo Barros de Almeida
//	                            All rights reserved
//
//	-[CVS]------------------------------------------
//	$Author$
//	$Date$
//	$Source$
//	$Name$
//	$Revision$
//	------------------------------------------------
//## end module%3C6E5F8F0326.cp

//## Module: edrsolver%3C6E5F8F0326; Package specification
//## Subsystem: <Top Level>
//## Source file: D:\textotese\svmbr\src\edrsolver.h

#ifndef edrsolver_h
#define edrsolver_h 1

//## begin module%3C6E5F8F0326.additionalIncludes preserve=no
//## end module%3C6E5F8F0326.additionalIncludes

//## begin module%3C6E5F8F0326.includes preserve=yes
//## end module%3C6E5F8F0326.includes

// solver
#include "solver.h"
//## begin module%3C6E5F8F0326.declarations preserve=no
//## end module%3C6E5F8F0326.declarations

//## begin module%3C6E5F8F0326.additionalDeclarations preserve=yes
//## end module%3C6E5F8F0326.additionalDeclarations


//## begin EDRSolver%3B87FD980077.preface preserve=yes
//## end EDRSolver%3B87FD980077.preface

//## Class: EDRSolver%3B87FD980077
//## Category: QP Solver package%3B88052B0288
//## Subsystem: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n

class EDRSolver : public Solver  //## Inherits: <unnamed>%3B87FDA503BF
{
  //## begin EDRSolver%3B87FD980077.initialDeclarations preserve=yes
  //## end EDRSolver%3B87FD980077.initialDeclarations

  public:
    //## Constructors (specified)
      //## Operation: EDRSolver%998688402
      EDRSolver (REAL cv, REAL tolv, REAL epsilonv, INT numEDRv, REAL EDRPower, SVM *svmp, Kernel *kernelp, Data *datap, INT chunksizev);

    //## Destructor (generated)
      ~EDRSolver();


    //## Other Operations (specified)
      //## Operation: run%998688367
      INT run (INT maxi);

      //## Operation: run_chunck%998688368
      INT run_chunck (INT maxi);

      //## Operation: examineExample%998688389
      INT examineExample (UINT i);

      //## Operation: run%998880779
      INT run ();

      //## Operation: run_chunck%998880780
      INT run_chunck ();

      //## Operation: init%999602350
      VOID init (REAL cv, REAL tolv, REAL epsilonv, INT numEDRv, REAL EDRPower, SVM *svmp, Kernel *kernelp, Data *datap, INT chunksizev);

      //## Operation: calcBias%999602351
      VOID calcBias ();

      //## Operation: freeSpace%999602352
      VOID freeSpace ();

      //## Operation: sincSets%1000125182
      VOID sincSets ();

      //## Operation: genWorkingSet%1000125183
      VOID genWorkingSet ();

      //## Operation: updateWorkingSet%1000125184
      VOID updateWorkingSet ();

    // Additional Public Declarations
      //## begin EDRSolver%3B87FD980077.public preserve=yes
      //## end EDRSolver%3B87FD980077.public

  protected:
    // Additional Protected Declarations
      //## begin EDRSolver%3B87FD980077.protected preserve=yes
      //## end EDRSolver%3B87FD980077.protected

  private:
    // Additional Private Declarations
      //## begin EDRSolver%3B87FD980077.private preserve=yes
      //## end EDRSolver%3B87FD980077.private

  private: //## implementation
    // Data Members for Class Attributes

      //## Attribute: maxErrorA%3B9CB610005D
      //## begin EDRSolver::maxErrorA%3B9CB610005D.attr preserve=no  private: REAL {U} 
      REAL maxErrorA;
      //## end EDRSolver::maxErrorA%3B9CB610005D.attr

      //## Attribute: maxErrorB%3B9CBC2403B8
      //## begin EDRSolver::maxErrorB%3B9CBC2403B8.attr preserve=no  private: REAL {U} 
      REAL maxErrorB;
      //## end EDRSolver::maxErrorB%3B9CBC2403B8.attr

      //## Attribute: minErrorB%3B9CBC4B0328
      //## begin EDRSolver::minErrorB%3B9CBC4B0328.attr preserve=no  private: REAL {U} 
      REAL minErrorB;
      //## end EDRSolver::minErrorB%3B9CBC4B0328.attr

      //## Attribute: minErrorA%3B9CB61700A4
      //## begin EDRSolver::minErrorA%3B9CB61700A4.attr preserve=no  private: REAL {U} 
      REAL minErrorA;
      //## end EDRSolver::minErrorA%3B9CB61700A4.attr

      //## Attribute: numRpt%3B9CB75103D0
      //## begin EDRSolver::numRpt%3B9CB75103D0.attr preserve=no  private: INT * {U} 
      INT *numRpt;
      //## end EDRSolver::numRpt%3B9CB75103D0.attr

      //## Attribute: numEDR%3B9CBDE8000B
      //## begin EDRSolver::numEDR%3B9CBDE8000B.attr preserve=no  private: INT {U} 
      INT numEDR;
      //## end EDRSolver::numEDR%3B9CBDE8000B.attr

      //## Attribute: power%3BF7F4B9024D
      //## begin EDRSolver::power%3BF7F4B9024D.attr preserve=no  private: REAL {U} 
      REAL power;
      //## end EDRSolver::power%3BF7F4B9024D.attr

    // Additional Implementation Declarations
      //## begin EDRSolver%3B87FD980077.implementation preserve=yes
      //## end EDRSolver%3B87FD980077.implementation

};

//## begin EDRSolver%3B87FD980077.postscript preserve=yes
//## end EDRSolver%3B87FD980077.postscript

// Class EDRSolver 

//## begin module%3C6E5F8F0326.epilog preserve=yes
//## end module%3C6E5F8F0326.epilog


#endif
